Proof-directed program transformation: A functional account of efficient regular expression matching
نویسندگان
چکیده
Abstract We show how to systematically derive an efficient regular expression (regex) matcher using a variety of program transformation techniques, but very little specialized formal language and automata theory. Starting from the standard specification set-theoretic semantics expressions, we proceed via continuation-based backtracking matcher, classical, table-driven state machine. All steps development are supported by self-contained (and machine-verified) equational correctness proofs.
منابع مشابه
Efficient Fpga-based Regular Expression Pattern Matching
An approach to the automatic generation of efficient Field Programmable Gate Arrays (FPGAs) circuits for the Regular Expression-based (RegEx) Pattern Matching problems is presented. Using a novel design strategy, as proposed, circuits that are highly area-and-time-efficient can be automatically generated for arbitrary sets of regular expressions. This makes the technique suitable for applicatio...
متن کاملProgram Transformation and Proof Transformation
A "linear style" sequent calculus makes it possible to explore the close structural relationships between primitive recursive programs and their inductive termination proofs, and between program transformations and their corresponding proof transformations. In this context the recursive to tail recursive transformation corresponds proof theoretically to a certain kind of cut elimination, called...
متن کاملProgram Development through Proof Transformation
We present a methodology for deriving veri ed programs that combines theorem proving and proof transformation steps. It extends the paradigm employed in systems like NuPrl where a program is developed and veri ed through the proof of the speci cation in a constructive type theory. We illustrate our methodology through an extended example | a derivation of Warshall's algorithm for graph reachabi...
متن کاملSDFA: Series DFA for Memory-Efficient Regular Expression Matching
Regular expression (RegEx) matching plays an important role in various network, security and database applications. Deterministic finite automata (DFA) is the preferred representation to achieve online RegEx matching in backbone networks, because of its one single pass over inputs for multiple RegExes and guaranteed performance of O(1) memory bandwidth per symbol. However, DFA may occupy prohib...
متن کاملFast, memory-efficient regular expression matching with NFA-OBDDs
1389-1286/$ see front matter 2011 Elsevier B.V doi:10.1016/j.comnet.2011.07.002 q This article is a revised and expanded versio appears in the 13th International Symposium on Intrusion Detection (RAID’10) [55]. ⇑ Corresponding author. Tel.: +1 732 445 2001x3 ⇑⇑ Principle corresponding author. Fax: +1 732 445 E-mail addresses: [email protected] (L. Yang edu (R. Karim), [email protected]...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Functional Programming
سال: 2021
ISSN: ['0956-7968', '1469-7653']
DOI: https://doi.org/10.1017/s0956796820000295